#define _CRT_SECURE_NO_WARANINGS 1
#include<stdio.h>

#define OFFEESTOF(structname,memesetname)   (size_t)(&((structname*)0)->memesetname)
typedef struct Info
{
	char c1;     // 0
	int i;    //  4  5 6 7
	char c2;   //   8 
	double d;   // 9 - 15  16 + 8 23   24
}Info;

int main()
{
	printf("%zu\n", sizeof(Info));// 24
	printf("%zu\n", OFFEESTOF(Info, c1)); //0
	printf("%zu\n", OFFEESTOF(Info, i)); // 4
	printf("%zu\n", OFFEESTOF(Info, c2));  // 8 
	printf("%zu\n", OFFEESTOF(Info, d));  // 16
	return 0;
}